Reducing Procedure Call Overhead: Optimizing Register Usage at Procedure Calls

نویسندگان

  • F. Lai
  • C.-J. Hsieh
چکیده

This paper proposes a common global variable reassignment and an integrated approach which takes advantage of the complementary relationship of inlining and interprocedural register allocation to reduce the procedure call overhead without causing additional negative effect. Our approach is based on the observation of analyzed program characteristic t o identify the heavy called procedures regions and the register usage information t o optimize the placement of register save/restore code. This method also takes f i l l advantage of free-use registers at each procedure call site. The average performance improvement is 1.233 compared with the previous schemes that performed either of them independently.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Compiler Controlled Register Stack Management for the Intel

Intel Itanium processors were designed with an on chip register stack engine (RSE) in order to reduce the overhead related to procedure call boundaries. The RSE automatically preserves values stored in stacked registers across procedure invocations. This architecture model significantly reduces the amount of spill code necessary to maintain an application’s state, which in turn reduces memory t...

متن کامل

Efficient Compilation and Profile-driven Dynamic Recompilation in Scheme

This dissertation presents a fast and effective linear intraprocedural register allocation strategy and an infrastructure for profile-driven dynamic recompilation in Scheme. The register allocation strategy optimizes register usage across procedure calls. It capitalizes on our observation that while procedures that do not contain calls (syntactic leaf routines) account for under one third of al...

متن کامل

PERL-a registerless architecture

Reducing processor-memory speed gap is one of the major challenges computer architects face today. Efficient use of CPU registers reduces the number of memory accesses. However, registers do incur extra overhead of Load/Store, register allocation and saving of register context across procedure calls. Caches however do not have any such overheads and cache technology has matured to the extent th...

متن کامل

Register Allocation Using Lazy

This paper presents a fast and eeective linear intraprocedu-ral register allocation strategy that optimizes register usage across procedure calls. It capitalizes on our observation that while procedures that do not contain calls (syntactic leaf routines) account for under one third of all procedure activations , procedures that actually make no calls (eeective leaf routines) account for over tw...

متن کامل

Register Allocation Using Lazy Saves ,

This paper presents a fast and eeective linear intraprocedu-ral register allocation strategy that optimizes register usage across procedure calls. It capitalizes on our observation that while procedures that do not contain calls (syntactic leaf routines) account for under one third of all procedure activations , procedures that actually make no calls (eeective leaf routines) account for over tw...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1994